package com.batchplatform.module.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.batchplatform.common.entity.module.Module;
import com.batchplatform.common.mapper.module.ModuleMapper;

@Service
public class ModuleService {
	@Autowired
	private ModuleMapper dao;
////	private SysManageDAO sysDao;
//	private SequenceDAO sqDao;
//	@Autowired
//	private MenuDAO menuDao;
	
//	@Autowired
//	public ModuleService(ModuleDAO dao, /*SysManageDAO sysDao,*/ MenuDAO menuDao,SequenceDAO sqDao) {
//		this.dao = dao;
////		this.sysDao = sysDao;
//		this.sqDao = sqDao;
//		this.menuDao = menuDao;
//	}
	
	public void addModule(Module module) {
//		Module module = new Module();
//		module.setId(sqDao.getValue(CommonConstants.SEQUENCE_MODULE));
//		module.setName(name);
//		module.setDesc(desc);
//		module.setSystem(sys);
//		dao.addModule(module);
		dao.insert(module);
		
//		Menu menu = new Menu();
//		menu.setId(sqDao.getValue(CommonConstants.SEQUENCE_MENU));		
//		menu.setName(name);
//		menu.setParentID(0);
//		menu.setModule(module);
//		menu.setOrder(menu.getId());
//		menuDao.addMenu(menu);
	}
	
	public void updateModule(Module module) {
//		Module module = dao.getModule(id);
////		Module module = new Module();
////		module.setId(id);
//		module.setName(name);
//		module.setDesc(desc);
//		module.setSystem(sys);
//		dao.updateModule(module);
//		Menu moduleMenu = menuDao.getRootMenuByModule(module);
//		moduleMenu.setName(name);
//		menuDao.updateMenu(moduleMenu);
		dao.updateByPrimaryKey(module);
	}
	
//	public void updateModule(int id, String value, String type) {
//		Module module = dao.getModule(id);		
//		if(type.equals("1")){
//			module.setName(value);
//		}else if(type.equals("2")){
//			module.setDesc(value);
//		}else if(type.equals("3")){
//			System sys = sysDao.getSystem(value);	
//			module.setSystem(sys);
//		}
//		dao.updateModule(module);
//	}
	
	public Module getModule(int id) {
		return dao.selectByPrimaryKey(id);
	}
	
	public void deleteModule(int id) {
		dao.deleteByPrimaryKey(id);
	}
	
	public List<Module> getModules() {
//		if(dao.getModules() == null) {
//			return new ArrayList<Module>();
//		}
//		else {
//			return dao.getModules();
//		}
		return dao.selectByModuleExample(null);
	}
}
